package com.example.shutdown_v1.repository;

import com.example.shutdown_v1.entity.Sensor;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

/**
 * 传感器设备Repository
 */
@Repository
public interface SensorRepository extends JpaRepository<Sensor, Long> {
    
    /**
     * 根据传感器ID查询
     * @param sensorId 传感器ID
     * @return Optional<Sensor>
     */
    Optional<Sensor> findBySensorId(String sensorId);
    
    /**
     * 查询店铺的所有传感器
     * @param shopId 店铺ID
     * @return 传感器列表
     */
    List<Sensor> findByShopId(Long shopId);
    
    /**
     * 根据安装位置查询
     * @param installPosition 安装位置
     * @return 传感器列表
     */
    List<Sensor> findByInstallPosition(String installPosition);
    
    /**
     * 查询店铺下指定状态的传感器
     * @param shopId 店铺ID
     * @param status 状态
     * @return 传感器列表
     */
    List<Sensor> findByShopIdAndStatus(Long shopId, Integer status);
    
    /**
     * 根据状态查询传感器
     * @param status 状态：1-正常，0-停用
     * @return 传感器列表
     */
    List<Sensor> findByStatus(Integer status);
}

